package com.tkjt.pms.modules.kpiadmin.service;

import com.tkjt.pms.common.vos.TkIndexValueForScoreVO;
import com.tkjt.pms.modules.kpiadmin.model.KaiProgressDetailModel;
import com.tkjt.pms.modules.kpiadmin.model.KaiProgressViewModel;
import com.tkjt.pms.modules.kpiadmin.vo.DatagridVO;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.vo.LoginUser;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;

public interface KpiAdminService {
    KaiProgressViewModel getKaiProgressView(LoginUser loginUser,HttpServletRequest request);
    KaiProgressDetailModel getKaiProgressDetail(LoginUser loginUser,HttpServletRequest request);
    List<Map<String,Object>> indexGroupConditions(LoginUser loginUser,List<Map<String,Object>> specialColums, String noVirtual,String indexYearMonth);
    List<Map<String,Object>> indexGroupConditionsForChangeUser(LoginUser loginUser,List<Map<String,Object>> specialColums, String noVirtual,String indexYearMonth);

    List<Map<String,Object>> weightConditions(LoginUser loginUser,List<Map<String,Object>> specialColums,String noVirtual);
    Result<?> kaTargetDatagrid(LoginUser loginUser,DatagridVO datagridVO, String noVirtual);
    Result<?> indexValueDataSave(LoginUser loginUser,DatagridVO datagridVO);
    Result<?> kaFillSave(LoginUser loginUser,DatagridVO datagridVO);

    Result<?> kaFillDatagrid(LoginUser loginUser,DatagridVO datagridVO,String noVirtual);
    Result<?> kaMgrDatagrid(LoginUser loginUser,DatagridVO datagridVO,String noVirtual);
    Result<?> auditDetailDatagrid(LoginUser loginUser,DatagridVO datagridVO,String noVirtual);
    Result<?> kaWeightDatagrid(LoginUser loginUser,DatagridVO datagridVO,String noVirtual);
    Result<?> kaWeightSave(LoginUser loginUser,DatagridVO datagridVO);
    Result<?>  kaGradeDatagrid(LoginUser loginUser,TkIndexValueForScoreVO tkIndexValue, Integer pageNo, Integer pageSize);
    Result<?> kaMgrAudit(LoginUser loginUser,TkIndexValueForScoreVO indexValueForScoreVO);
    List<Map<String,Object>> getIndexCodeByTarget(LoginUser loginUser,String indexGroup);
}
